﻿'''
题目描述：
现有两个整数数组，需要你找出两个数组中同时出现的整数，并按照如下要求输出：
1.有同时出现的整数时，先按照同时出现次数较少的进行归类，然后按照出现次数从小到大依次按行输出
2.没有同时出现的整数时，输出NULL
输入描述：
第一行为第一个整数数组，第二行为第二个整数数组，每行数中整数与整数之间以英文逗号分割，整数的取值范围为-200-200，数组长度
的范围为1-10000之间的整数
输出描述：
按照出现次数从小到大依次按行输出，每行输出的格式为：
出现次数：该出现次数下的整数升序排序的结果，如1：3，4，5
示例1:
输入：
5,3,6,-8,0,11
2,8,8,8,-1,15
输出：
NULL
示例2：
输入：
1,1,1,2,2,4,4,3,5
2,2,1,1,4,5,5,3
输出：
1:3,4,5
2:1,2
'''
#读取输入
num1_arr = list(map(int,input().split(',')))
num2_arr = list(map(int,input().split(',')))
num1_dict = {}
num2_dict = {}
for num in num1_arr:
    if num in num1_dict:
        num1_dict[num] += 1
    else:
        num1_dict[num] = 1
for num in num2_arr:
    if num in num2_dict:
        num2_dict[num] += 1
    else:
        num2_dict[num] = 1
result = []
for num in num1_dict.keys():
    if num in num2_dict:
        result.append([min(num1_dict[num],num2_dict[num]),num])
if len(result) == 0:
    print('NULL')
elif len(result) == 1:
    print(str(result[0][0]) + ':' + str(result[0][1]))
else:
    result.sort(key= lambda x:(x[0],x[1]))
    while len(result) != 0:
        cur_count = result[0][0]
        cur_list = str(cur_count) + ':' + str(result[0][1]) + ','
        remove_list = []
        remove_list.append(result[0])
        for i in range(1,len(result)):
            if result[i][0] == cur_count:
                cur_list += str(result[i][1]) + ','
                remove_list.append(result[i])
        cur_list = cur_list[:-1]
        print(''.join(cur_list))
        for rem in remove_list:
            result.remove(rem)